const path = require('path')
const webpack = require('webpack')
const BasicPlugin = require('./src/plugins/BasicPlugin')

// console.log(__dirname)
module.exports = {
    // mode: 'production',
    mode: 'development',
    entry: {
        app: path.resolve(__dirname, 'src/index.js'),
        vendors: path.resolve(__dirname, 'src/vendors.js')
    },
    // devtool: 'source-map',
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, 'dist')
    },
    // resolve: {
    //     alias: {
    //         "mjquery": path.resolve(__dirname, './src/plugins/jquery')   //配置别名  用来import
    //     }
    // },
    // 我们对类似jq这类依赖库，一般会认为不会引用其他的包(特殊除外,自行判断)。所以，对于这类不引用其他的包的库，我们在打包的时候就没有必要去解析，这样能够增加打包速率。
    module: {
        rules: [{
            test: /\.js$/,
            use: [
                {
                    loader: 'babel-loader',
                }
            ]
            // use: [
            //     {loader: path.resolve(__dirname, 'src/loader.js')}
            // ]
        }],
        noParse: /jquery/, //不去解析jquery中的依赖库
    },
    // externals: {
    //     jquery: 'jQuery'
    // },
    // plugins: [
    //     new webpack.DefinePlugin({  //DefinePlugin 允许创建一个在编译时可以配置的全局常量
    //         //  providePlugin  全局导入一个模块， 不再需要import
    //         PRODUCTION: 'development',
    //         mode: JSON.stringify('production'),
    //         dirname: JSON.stringify(__dirname)
    //     }),
    //     new BasicPlugin()
    // ]
}


